SPB Git

Repository Public

route.ts 1.2 KB 28 lines typescript

1// Auteur : Simon-Pierre Boucher — contact@spboucher.ai2// /api/admin/submissions/[id]/notes — note interne (jamais visible du3// demandeur) : auteur + date + demande, journalisée dans l'historique.4import { NextRequest, NextResponse } from "next/server";5import { findSubmissionById, insertNote, logEvent } from "@/lib/comms/db";6import { getAdminSession, canViewSubmission } from "@/lib/comms/admin-auth";78export async function POST(9  req: NextRequest,10  { params }: { params: Promise<{ id: string }> },11) {12  const session = await getAdminSession();13  if (!session)14    return NextResponse.json({ error: "Non autorisé." }, { status: 401 });15  const id = Number((await params).id);16  const sub = Number.isInteger(id) ? findSubmissionById(id) : undefined;17  if (!sub || !canViewSubmission(session, sub))18    return NextResponse.json({ error: "Demande introuvable." }, { status: 404 });1920  const body = (await req.json().catch(() => null)) as { body?: string } | null;21  const text = (body?.body ?? "").trim().slice(0, 8000);22  if (!text)23    return NextResponse.json({ error: "Note vide." }, { status: 422 });24  insertNote(sub.id, session.id, text);25  logEvent(sub.id, session.id, "note", "Note interne ajoutée");26  return NextResponse.json({ ok: true });27}28
Files main
Menu

Theme